<?php
class Cont_PagBSN extends GenericBSN {

	function __construct() {
		$this->dao = new Cont_PagDAO();		
	}

	public function consultar($vars) {
		$this->preencher($vars);
		
		if (isset($vars['fltTipo']) && ($vars['fltTipo'] != 'T')) {
			if (strlen($this->where) > 0) {
				$this->where .= " and ";
			} else {
				$this->where = " where ";
			}
			if ($vars['fltTipo'] == 'P') {
				$this->where .= " apagar = '0,00' ";
			} else {
				$this->where .= " apagar <> '0,00' ";
			}
		}
		
		$this->Records = $this->dao->consultar($this->where, $this->params, $this->order . $this->limit);
		$this->Result  = "OK";
	}
	
	public function consultarPK($vars) {
		$this->Records = $this->dao->consultarPK($vars['id']);
		$this->Result = "OK";
	}
	
	public function inserir($vars, $finalizarTransacao = true) {
		$registro['data']		= $vars['data'];
		$registro['documento'] 	= $vars['documento'];
		$registro['descricao'] 	= $vars['descricao'];
		$registro['plano'] 		= $vars['plano_id'];
		$registro['valor']		= str_replace(',', '.', str_replace('.', '', $vars['valor']));
		$registro['pago']		= str_replace(',', '.', str_replace('.', '', $vars['pago']));
				
		try {
			$this->Record = $this->dao->inserir($registro, $finalizarTransacao);
			$this->Result  = "OK";
		} catch (Exception $e) {
			$this->Result  = "ERROR";
			$this->Message = "Erro ao tentar inserir conta a receber: " . $e->getMessage();
		}
	}
	
	public function alterar($vars) {
		try {
			$registro['id']			= $vars['id'];
			$registro['documento'] 	= $vars['documento'];
			$registro['descricao'] 	= $vars['descricao'];
			$registro['plano'] 		= $vars['plano_id'];
			$registro['valor']		= str_replace(',', '.', str_replace('.', '', $vars['valor']));
			$registro['pago']		= str_replace(',', '.', str_replace('.', '', $vars['pago']));

			$this->Record 			= $this->dao->alterar($registro);
			$this->Result  = "OK";
		} catch (Exception $e) {
			$this->Result  = "ERROR";
			$this->Message = "Erro ao tentar receber conta: " . $e->getMessage();
		}
	}
	
	public function excluir($vars) {
		try {
			$res = $this->dao->excluir($vars['id']);
			$this->Result  = "OK";
		} catch (Exception $e) {
			$this->Result  = "ERROR";
			$this->Message = "Erro ao tentar excluir conta a receber: " . $e->getMessage();
		}
	}
	
	public function relatorio($vars) {
		try {
			$res = $this->dao->consultarRelatorio($vars['contas'], $vars['dt_ini'], $vars['dt_fim']);
			$this->Result  = "OK";
		} catch (Exception $e) {
			$this->Result  = "ERROR";
			$this->Message = "Erro ao tentar excluir conta a receber: " . $e->getMessage();
		}
	}
}
?>